import { makeRequiredRule } from '../../../utils'
const label = ' 出生日期'
const name = 'birth'
let i = 1
const uniqueId = () => `${name}${i++}`

const box = {
  label,
  //拖拽组件的 key
  name,
  //拖拽组件的生成规则
  rule() {
    //如果在 props 方法中需要修改 rule 的属性,需要提前在 rule 上定义对应的属性
    return {
      //生成组件的名称
      type: 'datePicker',
      //field 自定不能重复,所以这里每次都会生成一个新的
      field: uniqueId(),
      title: label,
      value: '',
      effect: { papers: false },
      props: {
        readonly: false,
        placeholder: '请选择出生日期',
        editable: false
      }
    }
  },
  //拖拽组件配置项(props)的生成规则
  props() {
    return [
      //生成`checkbox`组件的`options`配置规则
      {
        type: 'input',
        field: 'formCreateTitle',
        value: label,
        title: '字段名称'
      },
      {
        type: 'input',
        field: 'placeholder',
        title: '提示文字'
      },
      makeRequiredRule(),
      {
        type: 'switch',
        field: 'formCreateEffect>papers',
        title: '自动获取',
        value: false,
        options: [{ value: false }, { value: true }],
        update(val, _, fApi) {
          fApi.nextTick(() => {
            if (fApi.activeRule) {
              fApi.activeRule.props.readonly = val
              fApi.activeRule.props.placeholder = val
                ? '根据身份证自动获取'
                : '请选择出生日期'
            }
          })
        },
        control: [
          {
            handle: val => val == 1,
            rule: [
              {
                type: 'select',
                field: 'papersId',
                placeholder: '请选择',
                value: 0,
                options: [{ value: 0, label: '身份证' }]
              }
            ]
          }
        ]
      }
    ]
  }
}
export default box
